.. _`Frequency transform`: .. _`com.sympathyfordata.timeseriesanalysis.frequency_transform`: Frequency transform ``````````````````` .. image:: fourier.svg :width: 48 Apply Discrete Fourier Transform to input, decomposing it into frequency components. Documentation ::::::::::::: The Discrete Fourier Transform takes a signal in the time domain and decomposes it into its constituent components in the frequency domain. This is useful throughout many different fields including signal processing and image processing. For more information, see https://en.wikipedia.org/wiki/Discrete_Fourier_transform. All different transforms in this node are variants of DFT, and they all use the Fast Fourier Transform (FFT) algorithm under the hood. Discrete Cosine Transform (DCT) assumes that the signal is symmetric at one or two of its end points, with different assumptions being used for different types of DCT. Conversely the Discrete Sine Transform (DST) assumes that the signal is antisymmetric at one or two of its end points. Two-dimensional transform ========================= If "Use 2D transform" is checked the whole input table is treated as a single two-dimensional array, and the output is likewise a single two-dimensional array. Inverse transform ================= To inverse a transform you select that same transform and check "Inverse", also making sure to keep the "Center" option the same as when the transform was first applied. Definition :::::::::: Input ports =========== **time domain** table time domain Output ports ============ **frequency domain** table frequency domain Configuration ============= **Use 2D transform** (2d) If checked the whole input table is treated as a single two-dimensional array. If unchecked each column is treated as a separate one-dimensional signal. **Center** (center) If checked all frequencies in the output will be in increasing order. If unchecked positive frequencies will come before negative frequencies. **Inverse transformation** (inverse) Compute the inverse of the selected transform **Operation** (operation) Transform to apply. **Time column** (time_col) Time column is not transformed but is instead used to calculate frequencies Related nodes ============= * :ref:`com.sympathyfordata.timeseriesanalysis.spectral_transform` * :ref:`com.sympathyfordata.imageanalysis.frequency_transform_image` Examples ======== * :download:`Fourier.syx ` * :download:`audio_processing.syx ` Implementation ============== .. automodule:: node_frequency :noindex: .. class:: FrequencyTransform :noindex: